<?php

function postNull ($string) {
    if (is_null($string) || $string == "") {
        return "null";
    } else {
        return $string;
    }
}

function neuAngebot () {
    $erfolgreich = true;
    $lieferung = "null";

    if (isset($_POST['lieferung'])) {
        if (isset($_POST['montage'])) {
            $string = 'INSERT into Lieferung values (null, "' . $_POST['lieferdatum'] . '", 1, 0)';
        } else {
            $string = 'INSERT into Lieferung values (null, "' . $_POST['lieferdatum'] . '", 0, 0)';
        }

        $query = mysql_query($string);
        if (!$query) $erfolgreich = false;

        $lieferung = mysql_insert_id();
    }

    $string = 'INSERT into Angebot values (null, "' . date("Y-m-d",time()) . '", "' . $_POST['informationen'] . '", ';

    if ($_POST['rabatt'] != "") {
        $string = $string . $_POST['rabatt'];
    } else {
        $string = $string . '0';
    }
    $string = $string . ', ' . postNull($_POST['comboboxKunde']) . ', ' . $_POST['comboboxMitarbeiter'] . ', ' . $lieferung .')';

    $query = mysql_query($string);
    if (!$query) $erfolgreich = false;
    
    $angebotid = mysql_insert_id(); 

    for ($i=0; $i < count($_POST['artikelid']); $i++) {
        $query = mysql_query('SELECT Name from Artikel where ID=' . $_POST['artikelid'][$i]);
        $artikel = mysql_fetch_array($query);

        $string = 'INSERT into AngebotArtikel values (' . $angebotid . ', ' . $_POST['artikelid'][$i] . ', "' . $artikel['Name'] . '", ' . $_POST['artikelpreis'][$i] . ', ' . $_POST['artikelmenge'][$i] . ')';
        
        $query = mysql_query($string);
        if (!$query) $erfolgreich = false;
    }

    if ($erfolgreich) {
        echo "<div class='info'>Angebot erfolgreich angelegt!</div>";
        postAngebotListe ();
        // TODO: Fehlerbehandlung
    } else {
        echo "<div class='error'>Angebot konnte nicht angelegt werden!</div>";
    }
}

function aendernAngebot () {
    $erfolgreich = true;

    $query = mysql_query('SELECT Lieferung from Angebot where id=' . $_POST['id']);
    $lieferung = mysql_fetch_array($query);
    $lieferung = $lieferung['Lieferung'];

    if (isset($_POST['lieferung'])) {
        if ($lieferung) {

            if (isset($_POST['montage'])) {
                $string = 'UPDATE Lieferung set Lieferdatum="' . $_POST['lieferdatum'] . '", Montage=1 where ID=' . $lieferung;
            } else {
                $string = 'UPDATE Lieferung set Lieferdatum="' . $_POST['lieferdatum'] . '", Montage=0 where ID=' . $lieferung;
            }

            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
        
        } else {
            
            if (isset($_POST['montage'])) {
                $string = 'INSERT into Lieferung values (null, "' . $_POST['lieferdatum'] . '", 1, 0)';
            } else {
                $string = 'INSERT into Lieferung values (null, "' . $_POST['lieferdatum'] . '", 0, 0)';
            }

            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
            $lieferung = mysql_insert_id();
        }

    } else if ($lieferung) {
        $query = mysql_query('DELETE from Lieferung where ID=' . $lieferung);
        if (!$query) $erfolgreich = false;
        $lieferung = null;
    }
    
    $string = 'UPDATE Angebot set Datum="' . date("Y-m-d",time()) . '", Informationen="' . $_POST['informationen'] . '", Rabatt=';
    if ($_POST['rabatt']) {
        $string = $string . $_POST['rabatt'];
    } else {
        $string = $string . '0';
    }

    $string = $string . ', KundeID=' . postNull($_POST['comboboxKunde']) . ', MitarbeiterID=' . $_POST['comboboxMitarbeiter'] . ', Lieferung=' . postNull($lieferung) . ' where ID=' . $_POST['id'];

    $query = mysql_query($string);
    if (!$query) $erfolgreich = false;
    
    for ($i=0; $i < count($_POST['artikelid']); $i++) {
        $query = mysql_query('SELECT Name from Artikel where ID=' . $_POST['artikelid'][$i]);
        $artikelNEU[$i] = mysql_fetch_array($query);
    }

    $query = mysql_query('SELECT * from AngebotArtikel where AngebotID=' . $_POST['id']);
    for ($i=0; $i < mysql_num_rows ($query); $i++) { 
        $artikelDB[$i] = mysql_fetch_array($query);
    }

    foreach ($artikelDB as $artikel) {
        $gefunden = false;
        foreach ($artikelNEU as $artikelN) {
            if ($artikel['ArtikelID'] == $artikelN['ID']) {
                $gefunden = true;
            }
        }
        if (!$gefunden) {
            $string = 'DELETE from AngebotArtikel where AngebotID=' . $_POST['id'] . ' and ArtikelID=' . $artikel['ArtikelID'];
            
            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
        }
    }

    for ($i=0; $i < count($artikelNEU); $i++) {
        $artikelN = $artikelNEU[$i];
        
        $gefunden = false;
        foreach ($artikelDB as $artikel) {
            if ($artikel['ArtikelID'] == $artikelN['ID']) {
                $gefunden = true;
            }
        }

        if ($gefunden) {
            $string = 'UPDATE AngebotArtikel
                set Preis=' . $_POST['artikelpreis'][$i] . ', Menge=' . $_POST['artikelmenge'][$i]. '
                where AngebotID=' . $_POST['id'] . ' and ArtikelID=' . $_POST['artikelid'][$i];
            
            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
        } else {
            $string = 'INSERT into AngebotArtikel
                values (' . $_POST['id'] . ', ' . $_POST['artikelid'][$i] . ', "' . $artikelN['Name'] . '", ' . $_POST['artikelpreis'][$i] . ', ' . $_POST['artikelmenge'][$i] . ')';

            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
        }    
    }
    
    if ($erfolgreich) {
        echo "<div class='info'>Angebot erfolgreich ge&auml;ndert!</div>";
        postAngebotListe ();
        // TODO: Fehlerbehandlung
    } else {
        echo "<div class='error'>Angebot konnte nicht ge&auml;ndert werden!</div>";
    }
}

function postAngebotListe () {
    $query = mysql_query("SELECT *, Angebot.ID as AngebotID, Angebot.Datum as Angebotdatum, Kunde.Vorname as KVorname, Kunde.Nachname as KNachname,
        Mitarbeiter.Vorname as MVorname, Mitarbeiter.Nachname as MNachname, sum(Preis*Menge*((100-Rabatt)/100)) as Gesamtpreis from Angebot
        left join Lieferung on Angebot.Lieferung=Lieferung.ID
        left join Kunde on Angebot.KundeID=Kunde.ID
        left join Mitarbeiter on Angebot.MitarbeiterID=Mitarbeiter.ID
        left join AngebotArtikel on Angebot.ID=AngebotArtikel.AngebotID
        group by Angebot.ID
        order by Angebot.ID asc");
    
    postAngebotTabelle ($query);
}

function postAngebotButtonLeiste () {
    echo '<div class="buttonleiste">';

    if (isset($_POST['neuAngebot']) || isset($_POST['aendernAngebot']) || isset($_POST['resetid'])) {
        if (isset($_POST['aendernAngebot'])) {
            $id = $_POST['aendernAngebot'];
        } elseif (isset($_POST['resetid'])) {
            $id = $_POST['resetid'];
        }

        echo '<a href="index.php?section=angebote"><button class="submit left r10" name="angebot" type="submit">Zur Angebots&uuml;bersicht</button></a>';
        echo '<form action="index.php?section=angebote" method="post">
                <input type="hidden" name="resetid" value="' . $id . '"> 
                <button class="submit left r10">Reset</button>
            </form>';
        echo '<button class="submit left buttonIEdisable" name="speichernAngebot" type="submit" form="angebotform">Speichern</button>';
   
    } elseif (isset($_POST['detailsAngebot'])) {
        $id = $_POST['detailsAngebot'];

        echo '<a href="index.php?section=angebote"><button class="submit left r10" name="alleAngebote" type="submit">Alle Angebote anzeigen</button></a>';
        echo '<form action="index.php?section=angebote" method="post">
                <input type="hidden" name="aendernAngebot" value="' . $id . '"> 
                <button class="submit left r10">&Auml;ndern</button>
            </form>';
        echo '<form method="post" action="index.php?section=auftraege" class="left r10">
                <input type="hidden" name="neuAuftragAusAngebot" value="' . $id . '">
                <button class="submit" type="submit">Auftrag erstellen</button>
            </form>';
        echo '<form method="post" action="index.php?section=rechnungen" class="left r10">
                <input type="hidden" name="neuRechnungAusAngebot" value="' . $id . '">
                <button class="submit" type="submit">Rechnung erstellen</button>
            </form>';
        echo '<form action="pdf_angebot.php" method="post">
                <input type="hidden" name="erstellePDF" value="' . $id . '"> 
                <button class="submit left" formtarget="_blank">PDF erstellen</button>
            </form>';

    } else {
        if (isset($_POST['sucheAngebote'])) {
            echo '<a href="index.php?section=angebote"><button class="submit left r10" name="alleAngebote" type="submit">Alle Angebote anzeigen</button></a>';
        } 

        echo '<form method="post" action="index.php?section=angebote" class="left r10">
            <button class="submit" name="neuAngebot" type="submit">Angebot hinzuf&uuml;gen</button>
        </form>';

        echo '<a href="index.php?section=menu"><button class="submit left r10" name="menu" type="submit">Zum Men&uuml;</button></a>';

        echo '<form method="post" action="index.php?section=angebote" id="searchAngebot" class="right">
            <input class="suche" name="suche" placeholder="Suche" pattern=".+" type="search" />
            <button class="submit" name="sucheAngebote" type="submit">Suche</button>
        </form>';
    }
    echo '</div>';
}

function postAngebotTabelle ($query) {
    echo '<table class="liste clear">
        <tr>
            <th>#</th>
            <th>Datum</th>
            <th class="textright">Gesamtpreis</th>
            <th>Kunde</th>
            <th>Mitarbeiter</th>
            <th>&Auml;ndern</th>
        </tr>';
    for ($i=0; $i < mysql_num_rows ($query); $i++) { 
        $angebot = mysql_fetch_array($query);
        if ($i % 2 == 0) {
            echo '<tr>';
        } else {
            echo '<tr class="farbigeZeile">';
        }

        echo '<td>
                    <form action="index.php?section=angebote" method="post">
                        <input type="hidden" name="detailsAngebot" value="' . $angebot['AngebotID'] . '"> 
                        <button class="linkbutton">' . $angebot['AngebotID'] . '</button>
                    </form>
                </td>
                <td>'. $angebot['Datum'] . '</td>
                <td class="textright">'. number_format($angebot['Gesamtpreis'], 2, ',', '.') . ' €</td>
                <td>'. $angebot['KVorname'] . ' ' . $angebot['KNachname'] . '</td>
                <td>'. $angebot['MVorname'] . ' ' . $angebot['MNachname'] . '</td>
                <td>
                    <form action="index.php?section=angebote" method="post">
                        <input type="hidden" name="aendernAngebot" value="' . $angebot['AngebotID'] . '"> 
                        <button class="linkbutton">&Auml;ndern</button>
                    </form>
                </td>
            </tr>';
    }
    echo '</table>';
}

function postAngebotBearbeiten ($angebot) {
    $query = mysql_query("SELECT *, Angebot.ID as AngebotID, Angebot.Datum as Angebotdatum, Kunde.Vorname as KVorname, Kunde.Nachname as KNachname,
        Mitarbeiter.Vorname as MVorname, Mitarbeiter.Nachname as MNachname from Angebot
        left join Lieferung on Angebot.Lieferung=Lieferung.ID
        left join Kunde on Angebot.KundeID=Kunde.ID
        left join Mitarbeiter on Angebot.MitarbeiterID=Mitarbeiter.ID
        WHERE Angebot.ID=" . $angebot);
    $angebot = mysql_fetch_array($query);

    $query = mysql_query("SELECT * from AngebotArtikel
        left join Artikel on AngebotArtikel.ArtikelID = Artikel.ID
        where AngebotID=" . $angebot['AngebotID']);
    
    for ($i=0; $i < mysql_num_rows ($query); $i++) { 
        $angebot['artikel'][$i] = mysql_fetch_array($query);
    }

    postAngebot ($angebot);
}

function postAngebot ($row) {   
    echo '
        <form class="formular" action="index.php?section=angebote" method="post" id="angebotform" name="angebotform" onsubmit="return minArtikel()" onkeyup="checkLieferung(this);" onmousemove="checkLieferung(this);">
        <ul>
            <li>
                 <h2>Angebot ';

    if (isset($row['AngebotID'])) {
        echo '#' . $row['AngebotID'] . ' &auml;ndern';
    } else {
        echo 'hinzuf&uuml;gen';
    }
                
    echo '</h2>
                 <span class="required_notification">* Ben&ouml;tigte Felder</span>
            </li>
            <li>
                <label for="informationen">Informationen:</label>
                <textarea id="informationen" name="informationen" placeholder="Angebotsinformationen eintragen" maxlength="300">' . $row['Informationen'] . '</textarea>
            </li>
            <li>
                <label for="comboboxKunde_input">Kunde:</label>';
    include ('inc/comboboxKunde.php');
    echo'</li>
        <li>
                <label for="comboboxMitarbeiter_input">Mitarbeiter</label>';
    include ('inc/comboboxMitarbeiter.php');    
    echo'</li>
        <li>
                <label for="comboboxArtikel_input">Artikel</label>';
    include ('inc/comboboxArtikel.php');   
    echo '</li>
            <li>
                <label for="rabatt">Rabatt:</label>
                <input id="rabatt" name="rabatt" pattern="^[0-9]{0,2}$" value="' . $row['Rabatt'] . '" type="text" placeholder="Rabatt" maxlength="2" />
                <span class="form_hint">in Prozent</span>               
            </li>';
    if ($row['Lieferung']) {
        echo '<li>
                    <label for="lieferung">Lieferung:</label>
                    <input id="lieferung" type="checkbox" name="lieferung" checked="checked" value="' . $row['Lieferung'] . '">
                </li>
                <li>
                    <label for="lieferdatum">Lieferdatum:</label>
                    <input id="lieferdatum" type="date" name="lieferdatum" placeholder="YYYY-MM-DD" value="' . $row['Lieferdatum'] . '">
                </li>
                <li>
                    <label for="montage">Montage:</label>';
        
        if ($row['Montage'] == 1) {
            echo '<input id="montage" type="checkbox" name="montage" checked="checked" value="1">';
        } else {
            echo '<input id="montage" type="checkbox" name="montage" value="1">';
        }
        
        echo '</li>';
    } else {
        echo '<li>
                    <label for="lieferung">Lieferung:</label>
                    <input id="lieferung" type="checkbox" name="lieferung" value="1" disabled>
                </li>
                <li>
                    <label for="lieferdatum">Lieferdatum:</label>
                    <input id="lieferdatum" type="date" name="lieferdatum" placeholder="YYYY-MM-DD" value="' . date("Y-m-d",time()) . '" disabled>
                </li>
                <li>
                    <label for="montage">Montage:</label>
                    <input id="montage" type="checkbox" name="montage" value="1" disabled>
                </li>';
    }
    
    echo '<li>
            <input type="hidden" name="id" value="' . $row['AngebotID'] . '"> 
            <button class="submit buttonIEenable" name="speichernAngebot" type="submit">Speichern</button>
        </li>
        </ul>
    </form>
    ';
}

function postAngebotDetails ($angebot) {
    $query = mysql_query("SELECT *, Angebot.ID as AngebotID, Angebot.Datum as Angebotdatum, Kunde.Vorname as KVorname, Kunde.Nachname as KNachname,
        Mitarbeiter.Vorname as MVorname, Mitarbeiter.Nachname as MNachname, sum(Preis*Menge*((100-Rabatt)/100)) as Gesamtpreis, sum(Preis*Menge) as 'Gesamtpreis ohne Rabatt'  from Angebot
        left join Lieferung on Angebot.Lieferung=Lieferung.ID
        left join Kunde on Angebot.KundeID=Kunde.ID
        left join Mitarbeiter on Angebot.MitarbeiterID=Mitarbeiter.ID
        left join AngebotArtikel on Angebot.ID=AngebotArtikel.AngebotID
        WHERE Angebot.ID=" . $angebot);
    $angebot = mysql_fetch_array($query);

    echo '
    <table class="detailliste_breit">
        <tr>
            <td colspan="2"><h2>Angebot #' . $angebot['AngebotID'] . '</h2></td>
        </tr>
        <tr>
            <td class="beschriftung">Datum:</td>
            <td>' . $angebot['Datum'] . '</td>
        </tr>
        <tr>
            <td class="beschriftung">Informationen:</td>
            <td>' . $angebot['Informationen'] . '</td>
        </tr>
        <tr>
            <td class="beschriftung">Kunde:</td>
            <td>' . $angebot['KVorname'] . ' ' . $angebot['KNachname'];

    if ($angebot['Firma'] != "") {
        echo ' der Firma ' . $angebot['Firma'];
    }

    echo '</td>
        </tr>
        <tr>
            <td class="beschriftung">Mitarbeiter:</td>
            <td>' . $angebot['MVorname'] . ' ' . $angebot['MNachname'] . '</td>
        </tr>';

    if ($angebot['Rabatt'] != "" && $angebot['Rabatt'] != 0) {
        echo '<tr>
            <td class="beschriftung">Gesamtpreis ohne Rabatt:</td>
            <td>' . number_format($angebot['Gesamtpreis ohne Rabatt'], 2, ',', '.') . ' EUR</td>
        </tr>
        <tr>
            <td class="beschriftung">Rabatt:</td>
            <td>' . $angebot['Rabatt'] . '%</td>
        </tr>
        <tr>
            <td class="beschriftung">Gesamtpreis mit Rabatt:</td>
            <td>' . number_format($angebot['Gesamtpreis'], 2, ',', '.') . ' EUR</td>
        </tr>';
    } else {
        echo '<tr>
            <td class="beschriftung">Gesamtpreis:</td>
            <td>' . number_format($angebot['Gesamtpreis ohne Rabatt'], 2, ',', '.') . ' EUR</td>
        </tr>';
    }

    echo '<tr>
            <td class="beschriftung vat">Artikel:</td>
            <td>
                <ul>';

    $query = mysql_query("SELECT * from AngebotArtikel where AngebotID=" . $angebot['AngebotID']);
    
    for ($i=0; $i < mysql_num_rows ($query); $i++) { 
        $artikel = mysql_fetch_array($query);

        echo '<li>' . $artikel['Menge'] . 'x ' . $artikel['Artikelname'] . ' je ' . number_format($artikel['Preis'], 2, ',', '.') . ' EUR</li>';
    }

    echo '</ul>
            </td>
        </tr>
        <tr>
            <td class="beschriftung">Lieferung:</td>';
        
    if ($angebot['Lieferung']) {
        echo '<td>Ja</td>
        </tr>
        <tr>
            <td class="beschriftung">Lieferdatum:</td>
            <td>' . $angebot['Lieferdatum'] . '</td>
        </tr>
        <tr>
            <td class="beschriftung">Montage:</td>
            <td>';
        
        if ($angebot['Montage'] == 1) {
            echo 'Ja';
        } else {
            echo 'Nein';
        }
        echo '</td>
            </tr>';

    } else {
        echo '<td>Nein</td>
        </tr>';
    }

    echo '</table>';
}

?>